/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.conveter;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.Localidades;
import br.com.tarifador.model.Localidades;
import org.jboss.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

/**
 *
 * @author charles
 */
@FacesConverter(forClass = Localidades.class, value = "localidadesConverter")
public class LocalidadesConverter implements Converter {
    
    TarifadorDao<Localidades> dao = new TarifadorDao<Localidades>(Localidades.class);
    private Localidades localidades;
    
    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
     Logger.getLogger(LocalidadesConverter.class.getName()).log(Logger.Level.INFO,"Converte as object:" + value);
      
        if (value != null && value.trim().length() > 0) {
            try {
                localidades = dao.findbyString(value, "cep");
                
            } catch (Exception e) {
                throw new ConverterException("Não foi possível encontrar" + value + "." + e.getMessage());
            }
        }
       return localidades;
    }
    
    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object value) {
        Logger.getLogger(LocalidadesConverter.class.getName()).log(Logger.Level.INFO,"Converte as string:" + value.toString());
        return value.toString();
    }
}
